package top.mcwebsite.playandroid.business.tutorial.impl.vm

import top.mcwebsite.playandroid.business.tutorial.api.model.TutorialModel
import top.mcwebsite.playandroid.lib.mvi.base.IIntent
import top.mcwebsite.playandroid.lib.mvi.base.IUiEffect
import top.mcwebsite.playandroid.lib.mvi.base.IUiState
import top.mcwebsite.playandroid.lib.mvi.model.Async

data class TutorialUiState(
    val tutorialsAsync: Async<List<TutorialModel>> = Async.UnInitialization
) : IUiState

sealed class TutorialIntent : IIntent {
    class RequestToTutorialMenuIntent(val tutorialModel: TutorialModel) : TutorialIntent()
}

sealed class TutorialUiEffect : IUiEffect {
    class GoToTutorialMenuEffect(val tutorialModel: TutorialModel) : TutorialUiEffect()
}